If we call any functions that may call ensure_layout
themeselves, we risk having the cached layout pulled
out from underneath. Better play it safe and take a
reference.
context = gtk_widget_get_style_context (widget);
- layout = gtk_text_ensure_layout (self, TRUE);
+ layout = g_object_ref (gtk_text_ensure_layout (self, TRUE));
text = pango_layout_get_text (layout);
gtk_text_get_layout_offsets (self, &x, &y);
gtk_style_context_restore (context);
}
+
+ g_object_unref (layout);
}
static void